/**
 * @file: segment_post_process.h
 * @author: sdk team
 * @brief
 * @version: 1.0
 * @date 2022-10-09
 *
 * Copyright:
 * © 2018 北京灵汐科技有限公司 版权所有。
 * 注意：以下内容均为北京灵汐科技有限公司原创，未经本公司允许，不得转载，否则将视为侵权；对于不遵守此声明或者其他违法使用以下内容者，本公司依法保留追究权。
 * © 2018 Lynxi Technologies Co., Ltd. All rights reserved.
 * NOTICE: All information contained here is, and remains the property of Lynxi.
 * This file can not be copied or distributed without the permission of Lynxi
 * Technologies Co., Ltd.
 */
#ifndef __SEGMENT_POST_PROCESS_H__
#define __SEGMENT_POST_PROCESS_H__

#include "boxInfo.h"

#ifdef __cplusplus
extern "C" {
#endif

// // label信息
// typedef struct {
//   char name[64];
// } LabelInfo;

// // label列表
// typedef struct {
//   LabelInfo *labels;       // 注意: Lynxi plugin方式时需要使用device
//   memory传递，否则使用系统内存 int labelNum;
// } LabelList;

typedef struct {
  int img_width;
  int img_height;
  int model_width;
  int model_height;
  int padx;
  int pady;
  double fatio;
  void *output_tensor;  // 注意: Lynxi plugin方式时需要使用device
                        // memory传递，否则使用系统内存
  lynSegBoxesInfo *boxesInfo;  // 输出box信息, Lynxi plugin方式时需要使用device
                               // memory传递，否则使用系统内存
} SegmentPostProcessInfo_t;

int lynSegmentPostProcess(SegmentPostProcessInfo_t *post_info);

int deleteMaskData(lynSegBoxesInfo *boxesInfo);

#ifdef __cplusplus
}
#endif

#endif